import numpy as np

a = np.array([[1, 2, 3, 4],
              [5, 6, 7, 8],
              [9, 10, 11, 12],
              [13, 14, 15, 16],
              [17, 18, 19, 20]])

print(a.shape)
"""
切片中开始位置是0开始算 结束位置从1开始算 例a[0:2, :] 输出[[1 2 3 4]
                                                    [5 6 7 8]]
单个冒号:前面不加参数即从第一个开始 后面不加参数表示最后一个 
-1表示倒数第一 -4表示倒数第四
"""
#第0行所有列
print("00",a[0, :], a[0, :].shape) #00 [1 2 3 4] (4,)
print("01",a[1, :], a[1, :].shape) #01 [5 6 7 8] (4,)
#倒数第一行所有列
print("02",a[-1, :], a[-1, :].shape) #02 [17 18 19 20] (4,)
#第0，1行所有列
print("03",a[0:2, :], a[0:2, :].shape)
#所有行第0列
print("04",a[:, 0], a[:, 0].shape)
print("05",a[:, 1], a[:, 1].shape)
print("06",a[:, -1], a[:, -1].shape)
#所有行第0,1列
print("07",a[:, 0:2], a[:, 0:2].shape)
#取最后一列加中括号保证其为一个向量即(5,1)而不是(5,)
print("08",a[:, [-1]], a[:, [-1]].shape)
